package com.eduadmin.service;

import com.eduadmin.entity.Grade;

import java.util.List;
import java.util.Map;
/**
 * 基础数据-“年级表”业务接口
 * */
public interface IGradeService {
    /**
     * Author@hgm
     * 使用角色：管理员。
     * 功能模块：数据维护-导入基础数据
     * 功能：批量导入年级信息
     * 参数：List<Grade> grades
     **/
    void addGrades(List<Grade> grades);
    /**
     * Author@zlc
     * 使用角色：管理员。
     * 功能模块：(管理员)数据维护-管理统计报表，数据查询-查询统计报表。
     * 功能：从年级表中获取所有的年级记录，返回年级对象列表
     * 参数：无
     **/
    List<Grade> getAllGrades();
    /**
     * Author@zlc
     * 使用角色：管理员，教师。
     * 功能模块：
     * 功能：从年级表中获取满足条件（年级成绩表名称）的所有的年级记录，返回年级对象列表
     * 参数：年级成绩表名称，String gradeDatatableName
     **/
    List<Grade>  getGradeNameByParam(String gradeDatatableName);
    /**
     * Author@hgm
     * 使用角色：管理员。
     * 功能模块：
     * 功能：根据年级名称查年级
     * 参数：String gradeName
     **/
    Grade getGradeByGradeName(String gradeName);
    /**
     * Author@hgm
     * 使用角色：管理员。
     * 功能模块：
     * 功能：获取总数
     * 参数：Map<String, Object> paraMap
     **/
    Long getAllTotal(Map<String, Object> paraMap);
    /**
     * Author@hgm
     * 使用角色：管理员。
     * 功能模块：
     * 功能：获取所有 分页显示
     * 参数：Map<String, Object> paraMap
     **/
    List<Grade> getAllGradeList(Map<String, Object> paraMap);
    /**
     * Author@hgm
     * 使用角色：管理员。
     * 功能模块：数据维护-管理基础数据
     * 功能：添加年级
     * 参数：Grade grade
     **/
    int newAddGrade(Grade grade);
    /**
     * Author@hgm
     * 使用角色：管理员。
     * 功能模块：数据维护-管理基础数据
     * 功能：更新年级
     * 参数：Grade grade
     **/
    void updateGrade(Grade grade);
    /**
     * Author@hgm
     * 使用角色：管理员。
     * 功能模块：数据维护-管理基础数据
     * 功能：删除年级
     * 参数：Grade grade
     **/
    int deleteGrade(String idString);
}
